home *** CD-ROM | disk | FTP | other *** search
-
-
-
- LINT User Commands LINT
-
-
-
- NNAAMMEE
- lint - a C program verifier
-
- SSYYNNOOPPSSIISS
- lliinntt [ --aabbcchhnnppuuvvxx ] file ...
-
- DDEESSCCRRIIPPTTIIOONN
- _L_i_n_t attempts to detect features of the C program _f_i_l_e_s
- which are likely to be bugs, or non-portable, or wasteful.
- It also checks the type usage of the program more strictly
- than the compilers. Among the things which are currently
- found are unreachable statements, loops not entered at the
- top, automatic variables declared and not used, and logical
- expressions whose value is constant. Moreover, the usage of
- functions is checked to find functions which return values
- in some places and not in others, functions called with
- varying numbers of arguments, and functions whose values are
- not used.
-
- By default, it is assumed that all the _f_i_l_e_s are to be
- loaded together; they are checked for mutual compatibility.
- Function definitions for certain libraries are available to
- _l_i_n_t; these libraries are referred to by a conventional
- name, such as `-lm', in the style of _l_d(1). Arguments end-
- ing in ._l_n are also treated as library files. To create
- lint libraries, use the --CC option:
-
- lint -Cfoo files . . .
-
- where _f_i_l_e_s are the C sources of library _f_o_o. The result is
- a file _l_l_i_b-_l_f_o_o._l_n in the correct library format suitable
- for linting programs using _f_o_o.
-
- Any number of the options in the following list may be used.
- The --DD, --UU, and --II options of _c_c(1) are also recognized as
- separate arguments.
-
- --aa Report assignments of long values to int vari-
- ables.
-
- --bb Report _b_r_e_a_k statements that cannot be reached.
- (This is not the default because, unfortunately,
- most _l_e_x and many _y_a_c_c outputs produce dozens of
- such comments.)
-
- --cc Complain about casts which have questionable por-
- tability.
-
- --hh Apply a number of heuristic tests to attempt to
- intuit bugs, improve style, and reduce waste.
-
- --mm_t_a_r_g_e_t This switch is passed to the C preprocessor, and
-
-
-
- Sprite v1.0 March 17, 1986 1
-
-
-
-
-
-
- LINT User Commands LINT
-
-
-
- ensures that machine-dependent include files for
- machine _t_a_r_g_e_t are used.
-
- --MM Do not complain about multiply-defined procedures.
- This switch is useful, for example, when linting a
- library against its own lint library generated
- with --CC.
-
- --nn Do not check compatibility against the standard
- library.
-
- --pp Attempt to check portability to the _I_B_M and _G_C_O_S
- dialects of C.
-
- --SS Apply stricter Sprite coding standards. With this
- option, ``++'' and ``--'' are disallowed as side
- effects inside other expressions, assignment is
- not permitted inside iiff conditionals, and the
- bodies of iiffs and other compound statements must
- be enclosed in braces.
-
- --uu Do not complain about functions and variables used
- and not defined, or defined and not used (this is
- suitable for running _l_i_n_t on a subset of files out
- of a larger program).
-
- --vv Suppress complaints about unused arguments in
- functions.
-
- --xx Report variables referred to by extern declara-
- tions, but never used.
-
- --zz Do not complain about structures that are never
- defined (e.g. using a structure pointer without
- knowing its contents.).
-
- _E_x_i_t(2) and other functions which do not return are not
- understood; this causes various lies.
-
- Certain conventional comments in the C source will change
- the behavior of _l_i_n_t:
-
- /*NOTREACHED*/
- at appropriate points stops comments about unreachable
- code.
-
- /*VARARGS_n*/
- suppresses the usual checking for variable numbers of
- arguments in the following function declaration. The
- data types of the first _n arguments are checked; a
- missing _n is taken to be 0.
-
-
-
-
- Sprite v1.0 March 17, 1986 2
-
-
-
-
-
-
- LINT User Commands LINT
-
-
-
- /*NOSTRICT*/
- shuts off strict type checking in the next expression.
-
- /*ARGSUSED*/
- turns on the --vv option for the next function.
-
- /*LINTLIBRARY*/
- at the beginning of a file shuts off complaints about
- unused functions in this file.
-
- AAUUTTHHOORR
- S.C. Johnson. Lint library construction implemented by
- Edward Wang.
-
- FFIILLEESS
- /usr/lib/lint/lint[12] programs
- /usr/lib/lint/llib-lc.ln declarations for standard func-
- tions
- /usr/lib/lint/llib-lc human readable version of above
- /usr/lib/lint/llib-port.ln declarations for portable func-
- tions
- /usr/lib/lint/llib-port human readable . . .
- llib-l*.ln library created with --CC
-
- SSEEEE AALLSSOO
- cc(1)
- S. C. Johnson, _L_i_n_t, _a _C _P_r_o_g_r_a_m _C_h_e_c_k_e_r
-
- BBUUGGSS
- There are some things you just ccaann''tt get lint to shut up
- about.
-
- /*NOSTRICT*/ is not implemented in the current version
- (alas).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Sprite v1.0 March 17, 1986 3
-
-
-
-